$(function () {
  // 1- 首页渲染
  // 2- 分页
  // 3- 添加一级分类 

  var currentPage = 1; //记录当前页
  var pageSize = 4; // 每页数据条数 

  // 1-首页渲染
  // 1- ajax去后台获取数据 
  // 2- 使用模板引擎渲染数据 

  function render () {
    $.ajax({
      type: 'get',
      url: '/category/queryTopCategoryPaging',
      data: {
        page: currentPage,
        pageSize: pageSize
      },
      dataType: 'json',
      success: function (res) {
        console.log(res);
        // 渲染
        $('tbody').html(template('tmp', res));
        // 根据数据库数据真实的总数，来说生成分页标签
        setPage(res.total);
      }
    })
  }

  render();

  // 2- 生成分页标签 
  // toal 数据库数据的总数 
  function setPage (total) {
    // 使用插件 生成分页标签 
    $("#paginator").bootstrapPaginator({
      bootstrapMajorVersion: 3,//默认是2，如果是bootstrap3版本，这个参数必填
      currentPage: currentPage,//当前页
      totalPages: Math.ceil(total / pageSize), //总页数     
      onPageClicked: function (event, originalEvent, type, page) {
        //为按钮绑定点击事件 page:当前点击的按钮值
        // 1-改变当前页的取值 
        currentPage = page;
        // 2- 重新渲染
        render();
      }
    });
  }

  // 3- 表单非空校验
  //使用表单校验插件
  $('.form-add').bootstrapValidator({
    //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
    excluded: [':disabled', ':hidden', ':not(:visible)'],

    //2. 指定校验时的图标显示，默认是bootstrap风格
    feedbackIcons: {
      valid: 'glyphicon glyphicon-ok',
      invalid: 'glyphicon glyphicon-remove',
      validating: 'glyphicon glyphicon-refresh'
    },

    //3. 指定校验字段
    fields: {
      //校验用户名，对应name表单的name属性
      categoryName: {
        validators: {
          //不能为空
          notEmpty: {
            message: '请输入一级分类'
          }
        }
      }
    }

  });


  // 4-添加一级分类
  // 1- 点击添加按钮，在数据验证通过的情况下，向后台发送请求， 进行添加 
  // 2- 填充完成后，页面重新渲染，隐藏模态框， 表单重置 
  // $ ('.btn-ok').click(function () {
  //   if (数据合理) {
  //     $.ajax()
  //   }
  //  })
  // 表单校验插件  success.form.bv 事件 
  $('.form-add').on('success.form.bv', function (e) {
    e.preventDefault(); //阻止默认行为
    // 向后台发送请求， 进行添加 
    $.ajax({
      type: 'post',
      url: '/category/addTopCategory',
      data: $('.form-add').serialize(),
      dataType: 'json',
      success: function (res) {
        // console.log(res);
        // 页面重新渲染
        render();
        // 隐藏模态框
        $('.modal-add').modal('hide');
        // 表单重置 
        // $('.form-add')[0].reset();
        // 重置表单校验样式和数据  resetForm(true);  resetForm(是否重置数据，默认值是false );
        $('.form-add').data('bootstrapValidator').resetForm(true);
      }
    })

  })
})